package org.sportspace.common.services

import org.sportspace.base.domain.SportSpace
import org.sportspace.base.domain.SportTable
import org.sportspace.base.domain.SportType

class SpaceService {

    /**
     * 查询活动场所信息
     * @param params
     */
    public Map querySpace(Map params) {
        return null;
    }

    public Map querySpaceBySpaceType(Map params){
        return null;
    }
    /**
     * 查询活动场地信息
     * @param params
     */
    public Map queryTable(Map params) {
        return null;
    }

    /**
     *根据空间查询所有正在推广的场地
     * @param params
     * @return
     */
    public Map queryTableBySpace(Map params){
        params.max=params.max?params.max:10;
        params.offset=params.offset?params.offset:0;
        def  sportTables  = SportTable.withCriteria{
            eq("sportSpace",params.sportSpace)
            eq("status",params.status)
            firstResult(params.offset as int)
            maxResults(params.max as int)
            if(params.orderName&&params.orderMode){
                order(params.orderName,params.orderMode)
            }
        }
        int count = SportTable.countBySportSpaceAndStatus(params.sportSpace,params.status)
        return [tables:sportTables,total:count,"status":0]
    }

    /**
     *根据活动类型
     */
    public Map queryTableBySportType(Map params){
        
        def sportType = SportType.withCriteria {
            like("chineseName","%"+params.name+"%")
        }

        def sportTables = [];
        SportTable.list().each {SportTable sportTable->
            if(sportType in sportTable.sportTypes){
                sportTables.add(sportTable);
            }
        }
        params.offset=params.offset?params.offset:0;
        params.max=params.max?params.max:10;
        
        def tables = sportType.subList(params.offset as int,params.max as int);
        return [tables:tables,total:sportTables.size()];
    }

    /**
     * 批准活动场所
     * @param params
     */
    public Map approveSpace(Map params) {
        return null;
    }

    /**
     * 拒绝活动场所
     * @param params
     */
    public Map rejectSapce(Map params) {
        return null;
    }

    /**
     * 挂起活动空间
     * @param params
     */
    public Map suppendSpace(Map params) {
        return null;
    }

    /**
     * 解挂活动空间
     * @param params
     */
    public Map unsuppendSpace(Map params) {
        return null;
    }

    /**
     * 活动空间信息录入
     * @param params
     */
    public Map registerSpace(Map params) {
        return null;
    }

    /**
     * 注册活动场地
     * @return
     */
    public Map registerTable(Map params) {
        return null;
    }

    /**
     * 更新空间信息
     *
     */
    public Map updateSpaceInfo(Map params) {
        return null;
    }

    /**
     * 更新场地信息
     */
    public Map updateTableInfo(Map params) {
        return null;
    }

    /**
     * 预定活动场地
     */
    public Map reserveTable(Map params) {
        return null;
    }
}
